# -*- coding: utf-8 -*-
# @Time : 2024/3/8 1:44 PM 
# @Author : Wayne
# @Email : 1
# @File : t_page.py
# @Project : young_python_demo
# @DESCRIPTION :

"""
多用于金蝶
此方法是偏移量，0到指定页码查询
page_number 到多少页结束
page_size 每页显示多少数量
请求：
get_kd_page(3,10)
返回：
[{'StartRow': 0, 'TopRowCount': 10}, {'StartRow': 10, 'TopRowCount': 20}, {'StartRow': 20, 'TopRowCount': 30}]
"""


def get_kd_page(page_number, page_size):
    page_size_list = []
    for i in range(0, page_number):
        StartRow = i * page_size
        TopRowCount = (i + 1) * page_size
        page = {"StartRow": StartRow, "TopRowCount": TopRowCount}
        page_size_list.append(page)
    return page_size_list


"""
多用于金蝶
此方法是偏移量，从固定的偏移量开始查询
page_number_begin 从多少页开始
page_number_end 到多少页结束
page_size 每页显示多少数量
请求：
get_kd_page_design(3,6,10)
返回：
[{'StartRow': 30, 'TopRowCount': 40}, {'StartRow': 40, 'TopRowCount': 50}, {'StartRow': 50, 'TopRowCount': 60}]
"""


def get_kd_page_design(page_number_begin, page_number_end, page_size):
    page_size_list = []
    for i in range(page_number_begin, page_number_end):
        StartRow = i * page_size
        TopRowCount = (i + 1) * page_size
        page = {"StartRow": StartRow, "TopRowCount": TopRowCount}
        page_size_list.append(page)
    return page_size_list

"""
此方法是获取页码数组的信息，star_page可以从其余页开始，抛开前面几页
star_page 开始页码，注意不同系统情况不同，有的系统是从 0 页开始，有的系统从 1 页开始
end_page 结束页码
请求：
get_page(0,5)
返回
[0, 1, 2, 3, 4]
"""
def get_page(star_page, end_page):
    page_size_list = []
    for i in range(star_page, end_page):
        page_size_list.append(i)
    return page_size_list

print(get_page(0,5))